// 已更新，无需配置资源类型了

// 后台配置的“视频资源类型”为其他，才会用到。
export default {
	data() {
		return {
			/* =========================
			 * =  公用数据在TXvideo.js  =
			 * = ********************* =
			 * = 这里写在注释里，是为了  =
			 * = 方便开发，才加在这里的  =
			 * =========================
			 * videoitem:[],//完整的视频信息
			 * autoPayer:false,//是否开始播放视频？
			 * SetVideoID:0,//储存视频ID
			 * ZyTypeVideo:1,//后台配置的视频资源类型
			 */
			
			
			/* =======================
			 * =  以下为后台配置的     =
			 * = 视频类型为“其他”时，  =
			 * = 独有的数据           =
			 * =======================
			 */
			PlayFromlist:[],//拆分后的播放源名称数组
			Playfrom:'',//播放源分类名称,如qiyi$$$qq$$$mgtv$$$....
			// 临时储存未拆分的视频链接
			VodPlayUrl:'',//视频链接
			VideoPlayFrom:[
				//  插入数组，格式如下
				//  {
				//	    index:0,当前播放源下标
				// 	    name:'qq',//播放源名称
				// 	    videolist:[
				//		    {
				//				title: title+' 第'+Number(index+1)+'集'+AppName+'免费看全网最新视频',
				//				title1: '第'+Number(index+1)+'集',
				//				url:http://,
				//				qualityName:'原画',
				//		    },
				//		 	{url:http://}
				//	    ],//播放源视频链接，已拆分
				//      videoUrl:''//播放链接，未拆分
				//  }
			],//播放源分类组
			VideoName:'',//视频名称
			ZyjiekoUrllist:[],//解析接口数组（后台配置的,一行一个）
		}
	},
	onLoad(){
		
	},
	watch:{
		
	},
	methods:{
		// qitazytv
		
		/* ==================================
		 * =  以下是用于“其他资源”的相关事件  =
		 * ==================================
		 */
		
		/* ==================================================
		 * =  1.获取播放源分类名称
		 * =  @格式：qq$$$qiyi$$$mgtv$$$...
		 * =  ----------------------------
		 * =  2.获取视频链接
		 * =  @格式：https://v.qq.com/1.html#https://v.qq.com/2.html
		 * =  -----------------------------
		 * =  3.执行“批量拆分出播放源名称和播放源对应的视频数据”
		 * =  @事件：this.SplitPlayFrom()
		 * ==================================================
		 */
		SetVodPlayfromUrl(){
			console.log("videoitem")
			console.log(this.videoitem)
			
			// 视频名称
			this.VideoName = this.videoitem[0].vod_name
			// 播放源分类名称,如qiyi$$$qq$$$mgtv$$$....
			this.Playfrom = this.videoitem[0].vod_play_from
			// 视频链接 [临时储存未拆分的视频链接] 
			this.VodPlayUrl = this.videoitem[0].vod_play_url
			// 批量拆分出播放源名称和播放源对应的视频数据
			this.SplitPlayFrom()
		},
		
		
		/* ================================================
		 * =  1.将for异步转同步
		 * =  2.执行“批量拆分出播放源名称和播放源对应的视频数据”
		 * =  @事件：this.SplitPlayFrom()
		 * =================================================
		 */
		async SplitPlayFrom() {
			
			let DataFrom = this.PlayFromlist//
			let DataVideoPlayFrom = this.VideoPlayFrom
			
			console.log("播放源分类 -- 还未拆分的")
			console.log(this.Playfrom)
			console.log("================")
			
			
			
			var myStr = this.Playfrom;
			var strArray = myStr.split("$$$");
			for (var i = 0; i < strArray.length; i++) {
				//document.write("<p>" + strArray[i] + "</p>");
				DataFrom.push({
					name:strArray[i]
				})
				
				console.log("当前播放源名称为 = " + strArray[i])
				// 写入播放源分类和创建分类对应的视频数据空数组
				DataVideoPlayFrom.push({
					index:i,
					name:strArray[i],
					videolist:[],
					videoUrl:''
				})
				console.log("i = " + i)
				//执行“批量写入对应播放源分类下的视频数据，分割$$$”
				await this.SplitVodPlayUrl(i)
				//执行“批量分割视频链接为一条一条的写入数组，分割#”
				await this.SplitVideolist(i)
				
				if(i == Number(strArray.length-1)) {
					console.log("拆分完毕")
					console.log("播放源分类对应的数据")
					console.log(this.VideoPlayFrom)
					
					console.log("===================")
					
					console.log("播放源分类")
					console.log(this.PlayFromlist)
					
					console.log("====================")
					
					console.log("自动播放 - “其他资源”")
					//设置自动播放状态为true,自动播放
					//this.autoPayer = true
					//console.log("开始自动播放第一个视频")
					
					// 设置从记忆播放状态为true
					//this.logVideoAuto = true
					
////////////////////////////////////
					// 这里可以单独写个方法，变成同步任务
					// 先判断是否有本地的记忆播放
					// 然后调用解析对应的集数
					
					await this.islogVideoItem()
				}
			}
		},
		/* ===============================
		 * =  判断是否有本地历史播放记录   =
		 * =    @有，则从本地记录恢复      =
		 * =    @无，则默认播放第一集      =
		 * ===============================
		 */
		async islogVideoItem(){
			console.log("判断是否有本地历史播放记录")
			let islogVideo = this.islogVideo
			if (islogVideo == true) {
				console.log("有本地历史播放记录，则从本地记录恢复播放")
				// [playlog.js]
				await this.getLogVideoItemPlay()
			}else if (islogVideo == false) {
				console.log("无本地历史播放记录，则默认播放第一集")
				// 定义入口参数，第一集视频信息
				let options = {
					url:this.VideoPlayFrom[0].videolist[0].url,
					index:0,
					pic:this.videoitem[0].vod_pic
				}
				//判断是否是M3U8/MP4直链或者官方资源链接，
				//是官方的需要先解析 [TXvideo.js]
				await this.VideoItemMatch(options)
			}
		},
		
		
		
		/* ================================================
		 * =  1.将for异步转同步
		 * =  2.执行“批量写入对应播放源分类下的视频数据，分割$$$”
		 * =  @事件：this.SplitVodPlayUrl()
		 * =  3.参考格式html：1.html-49.html = 共有49集。
		 * =  4.参考格式$$$  播放源链接分割标识
		 * =  @ http://v.qq.com/1.html#....49.html$$$http://i.iqy.com/1.html#....49.html$$$等
		 * =================================================
		 */
		async SplitVodPlayUrl(index){
			console.log("index = " + index)
			let DataVodPlayUrl = this.VodPlayUrl
			
			
			// 定义播放源分类对应的视频空数组
			//var IndexVideolist = this.VideoPlayFrom[index].videolist
			//var IndexVideoUrl = this.VideoPlayFrom[index].videoUrl
			
			var strArrayUrl = DataVodPlayUrl.split("$$$");
			// 批量写入对应播放源分类下的视频数据
			for (var v = 0; v < strArrayUrl.length; v++) {
				//IndexVideolist.push(strArrayUrl[v])
				console.log(strArrayUrl[index])
				
				this.VideoPlayFrom[index].videoUrl = strArrayUrl[index]
				//IndexVideoUrl = strArrayUrl[index]
			}
		},
		/* ================================================
		 * =  1.将for异步转同步
		 * =  2.执行“批量分割视频链接为一条一条的写入数组，分割#”
		 * =  @事件：this.SplitVideolist()
		 * =================================================
		 */
		SplitVideolist(index){
			
			let IndexVodPlayUrl = this.VideoPlayFrom[index].videoUrl
			let IndexVideolist = this.VideoPlayFrom[index].videolist
			
			var strArrayUrl = IndexVodPlayUrl.split("#");
			for (var i = 0; i < strArrayUrl.length; i++) {
				//let event = {}
				IndexVideolist.push({
					url:strArrayUrl[i]
				})
				console.log(strArrayUrl[i])
				
				//this.VideoPlayFrom[index].videolist = strArrayUrl[i]
				//IndexVideoUrl = strArrayUrl[i]
			}
		},
		/* ================================================
		 * =  1.取出后台配置的解析接口数量（一行一个）
		 * =  2.执行“批量分割解析接口为一条一条的写入数组，分割换行\n”
		 * =  @事件：this.SetVodPlayZyjiekolist()
		 * =================================================
		 */
		SetVodPlayZyjiekolist(){
			// 未拆分前的解析接口,格式http://xx.1.com http://v.2.com
			let ZyjkUrl = this.xtsetting.App_Player_zyjx_jieko
			//console.log("解析接口 = " + ZyjkUrl)
			//console.log(ZyjkUrl)
			// 拆分后的解析接口，存入数组
			let ZyjkUrllist = this.ZyjiekoUrllist
			// 设置分割 从换行 开始批量分割
			var strArrayZyjkUrl = ZyjkUrl.split('\n')
			// 批量分割，依次写入数组
			for (var i = 0; i < strArrayZyjkUrl.length; i++){
				console.log("接口"+i+"= "+strArrayZyjkUrl[i])
				/* ==========================================
				 * =  如果用户后台配置接口，最后又多按了个换行
				 * =  最后一个就会匹配空，空的我们肯定不能让他
				 * =  写入数组里，所以要判断一下
				 * ==========================================
				 */
				// 判断当前解析接口地址，是否不为空
				if (strArrayZyjkUrl[i] !== '') {
					console.log("解析接口地址不为空")
					console.log(strArrayZyjkUrl[i])
					// 将不为空的解析接口地址依次写入数组
					ZyjkUrllist.push({
						name:'接口'+Number(i+1),
						jxurl:strArrayZyjkUrl[i]
					})
					
				}else if(strArrayZyjkUrl[i] == ''){
					// 这一行可根据自己的需求，要还是不要
					// 不要可删除，无影响，只是为了方便开发调试
					console.log("解析接口地址为空")
					// 这里会输出一个空字符串
					console.log(strArrayZyjkUrl[i])
				}
				
				// 判断是否执行完毕，可根据自己的需求，要还是不要
				// 不要可删除，无影响，只是为了方便开发调试
				if (i == Number(strArrayZyjkUrl.length-1)){
					console.log("依次写入解析接口地址完毕")
					console.log(this.ZyjiekoUrllist)
				}
				
			}
		}
	}
}